const path=require('path')//路径操作 使用path 模块。
const htmlWebpackPlugin=require('html-webpack-plugin')

const { VueLoaderPlugin } = require('vue-loader')

// 这个配置文件，其实就是一个JS文件，通过node中的模块操作，向外暴露了一个配置对象。
module.exports={
    entry:path.join(__dirname,'./src/main.js'),//入口，表示要使用webpack打包哪个文件。
    output:{//输出文件相关配置
    path:path.join(__dirname,'./dist'),//指定打包好的文件，输出到哪里目录中去，
    filename:'bundle.js' //这是指定 输出的文件名称。
    },
    plugins:[
        new htmlWebpackPlugin({
            template:path.join(__dirname,'./src/index.html'),
            filename:'index.html'
        }),
        new VueLoaderPlugin()

    ],
    module:{
        rules:[
            { test:/\.css$/ ,use:['style-loader','css-loader']},
            { test:/\.less$/,use:['style-loader','css-loader','less-loader']},
            { test:/\.scss$/ ,use:['style-loader','css-loader','sass-loader']},
            { test:/\.(jpg|png|gif|bmp|jpeg)$/,use:'url-loader'},
            { test:/\.(ttf|eot|svg|woff|woff2)$/,use:'url-loader'},
            { test:/\.js$/,use:'babel-loader', exclude:/node_modules/},            
            { test:/\.vue$/, use: 'vue-loader' }
        ]
    }
}

